#!/usr/bin/python
# -*-coding:UTF-8 -*-

# ========================
# @Time  : 2021/1/28
# @Author: Sunny
# ========================


"""
小明买了一对兔子(2只)，第三个月起每个月都生一对兔子(2只),每队兔子涨到第三个
月后每个月又生一对兔子，加入兔子都不是，问N个月后的兔子总数为多少只，请用递归实现！
"""

def work1(day):
    if day ==1 or day ==2:
        return 1
    else:
        return work1(day-2)+work1(day-1)

print(work1(10)*2)


"""
一个球从100米高度自由落下，每次落地后反跳回原高度的一半，再落下，秋它在第10次落地时
共经过多少米，请用递归实现
"""
# def work2(n):
#     if n==1:
#         return 100
#     elif n>1:
#         return work2(n-1)+100/2**(n-1)*2
#
# print(work2(10))


"""
小明有200元钱，打算买200本书，a类书籍5元一本，B类书籍3元一本，c类书籍1元2本，请用程序
算出小明一共有多少种买法（面试题）
"""

# def work3():
#     count = 0
#     for x in range(200//5+1):
#         for y in range(200//3+1):
#             z = 200 - x - y
#             if 5*x+3*y+0.5*z<=200:
#                 # print(f"a:{x},b:{y},c:{z}")
#                 count +=1
#     return count
# print(work3())

"""
有一个列表li2 =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],请用上课讲的只是处理
成下面的格式
li3 = [[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15]]
"""
li2 =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]

# li3 =[a for a in li2[0::3]]
# li4 =[b for b in li2[1::3]]
# li5 =[c for c in li2[2::3]]
# li6 = [list(i) for i in list(zip(li3,li4,li5))]
# print(li6)

def work4(li):
    #1.直接推导式
    # return [li[i:i+3]for i in range(0,len(li),3)]
    #2.用zip函数
    zip_obj =zip(li[::3],li[1::3],li[2::3])
    return list(map(lambda x:list(x),zip_obj))
print(work4(li2))